package com.pay.handler;

import com.pay.bean.QuickPayTradeContext;
import com.pay.common.exception.ServiceException;
import com.pay.entity.trans.PayReuquest;

import java.util.Map;

public interface QuickPayHandler {

	/**
	 * 交易处理
	 * @param tradeContext 交易上下文
	 * @throws ServiceException 业务异常
	 */
	Object[] trade(QuickPayTradeContext tradeContext) throws ServiceException;

	/**
	 * 交易查询
	 * @param tradeContext 交易上下文
	 * @throws ServiceException 业务异常
	 */
	Object[] query(QuickPayTradeContext tradeContext) throws ServiceException;

	/**
	 * 交易完成处理
	 * @param completeParameters 处理参数
	 * @return InterfaceRequest 提供方接口请求记录
	 * @throws ServiceException
	 */
	PayReuquest complete(Map<String, Object> completeParameters) throws ServiceException;



}